﻿namespace com.binance.client.model.trade
{
	using BinanceApiConstants = com.binance.client.constant.BinanceApiConstants;
	using ToStringBuilder = org.apache.commons.lang3.builder.ToStringBuilder;

	public class Order
	{

		private string clientOrderId;

		private decimal cumQuote;

		private decimal executedQty;

		private long? orderId;

		private decimal origQty;

		private decimal price;

		private bool? reduceOnly;

		private string side;

		private string positionSide;

		private string status;

		private decimal stopPrice;

		private string symbol;

		private string timeInForce;

		private string type;

		private long? updateTime;

		private string workingType;

		public virtual string ClientOrderId
		{
			get
			{
				return clientOrderId;
			}
			set
			{
				this.clientOrderId = value;
			}
		}


		public virtual decimal CumQuote
		{
			get
			{
				return cumQuote;
			}
			set
			{
				this.cumQuote = value;
			}
		}


		public virtual decimal ExecutedQty
		{
			get
			{
				return executedQty;
			}
			set
			{
				this.executedQty = value;
			}
		}


		public virtual long? OrderId
		{
			get
			{
				return orderId;
			}
			set
			{
				this.orderId = value;
			}
		}


		public virtual decimal OrigQty
		{
			get
			{
				return origQty;
			}
			set
			{
				this.origQty = value;
			}
		}


		public virtual decimal Price
		{
			get
			{
				return price;
			}
			set
			{
				this.price = value;
			}
		}


		public virtual bool? ReduceOnly
		{
			get
			{
				return reduceOnly;
			}
			set
			{
				this.reduceOnly = value;
			}
		}


		public virtual string Side
		{
			get
			{
				return side;
			}
			set
			{
				this.side = value;
			}
		}


		public virtual string PositionSide
		{
			get
			{
				return positionSide;
			}
			set
			{
				this.positionSide = value;
			}
		}


		public virtual string Status
		{
			get
			{
				return status;
			}
			set
			{
				this.status = value;
			}
		}


		public virtual decimal StopPrice
		{
			get
			{
				return stopPrice;
			}
			set
			{
				this.stopPrice = value;
			}
		}


		public virtual string Symbol
		{
			get
			{
				return symbol;
			}
			set
			{
				this.symbol = value;
			}
		}


		public virtual string TimeInForce
		{
			get
			{
				return timeInForce;
			}
			set
			{
				this.timeInForce = value;
			}
		}


		public virtual string Type
		{
			get
			{
				return type;
			}
			set
			{
				this.type = value;
			}
		}


		public virtual long? UpdateTime
		{
			get
			{
				return updateTime;
			}
			set
			{
				this.updateTime = value;
			}
		}


		public virtual string WorkingType
		{
			get
			{
				return workingType;
			}
			set
			{
				this.workingType = value;
			}
		}


		public override string ToString()
		{
			return (new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)).append("clientOrderId", clientOrderId).append("cumQuote", cumQuote).append("executedQty", executedQty).append("orderId", orderId).append("origQty", origQty).append("price", price).append("reduceOnly", reduceOnly).append("side", side).append("positionSide", positionSide).append("status", status).append("stopPrice", stopPrice).append("symbol", symbol).append("timeInForce", timeInForce).append("type", type).append("updateTime", updateTime).append("workingType", workingType).ToString();
		}
	}

}